package com.isoftstone.service;

import com.isoftstone.pojo.Dormitory;
import com.github.pagehelper.PageInfo;
import com.isoftstone.util.Result;

import java.util.List;

/**
 * 宿舍信息业务逻辑层接口
 */
public interface DormitoryService {
    // 查询所有宿舍
    Result<List<Dormitory>> findAll();

    // 分页查询宿舍
    Result<PageInfo<Dormitory>> findByPage(int pageNum, int pageSize, String building_number, String room_number, Integer capacity);

    // 根据ID查询宿舍
    Result<Dormitory> findById(Integer id);

    // 新增宿舍
    Result<?> addDormitory(Dormitory dormitory);

    // 更新宿舍信息
    Result<?> updateDormitory(Dormitory dormitory);

    // 删除宿舍
    Result<?> deleteDormitory(Integer id);
    // 查询有空位的宿舍
    Result<List<Dormitory>> selectAvailable();
    Result<?> batchDeleteDorms(List<Integer> ids);
    // 更新宿舍的入住人数
    Result<?> updateOccupancy(Integer dormitoryId, Integer newOccupancy);

    // 新增：根据宿舍ID查询宿舍详情
    Result<Dormitory> getDormitoryById(Integer dormitoryId);
}
